package my_sql_editor;

public class KeyWords {
	  protected static final String[] EMPTY = new String[0];

	  private static final String[] _unreservedwords = new String[0];

	  private static final String[] reservedwords = { 
	    "action", 
	    "add", 
	    "all", 
	    "alter", 
	    "and", 
	    "any", 
	    "as", 
	    "asc", 
	    "authorization", 
	    "begin", 
	    "between", 
	    "boolean", 
	    "by", 
	    "call",
	    "cascade", 
	    "cascaded", 
	    "case",
	    "char", 
	    "character", 
	    "check", 
	    "collate", 
	    "column", 
	    "commit", 
	    "constant", 
	    "constraint", 
	    "corresponding", 
	    "create", 
	    "cross", 
	    "cursor", 
	    "date", 
	    "default", 
	    "declare", 
	    "delete", 
	    "deferrable", 
	    "desc", 
	    "distinct", 
	    "drop", 
	    "end", 
	    "escape", 
	    "except", 
	    "exists", 
	    "false", 
	    "foreign", 
	    "from", 
	    "full", 
	    "global", 
	    "group", 
	    "having", 
	    "immediate", 
	    "in", 
	    "index", 
	    "initially", 
	    "inner", 
	    "insert", 
	    "intersect", 
	    "into", 
	    "is", 
	    "join", 
	    "left", 
	    "like", 
	    "key", 
	    "local", 
	    "match", 
	    "natural", 
	    "no", 
	    "not", 
	    "null", 
	    "on", 
	    "option", 
	    "outer", 
	    "or", 
	    "order", 
	    "partial", 
	    "pendant", 
	    "preserve", 
	    "primary", 
	    "procedure", 
	    "record", 
	    "references", 
	    "restrict", 
	    "right", 
	    "rows", 
	    "schema", 
	    "select", 
	    "set", 
	    "some", 
	    "table", 
	    "temporary", 
	    "then", 
	    "time", 
	    "timestamp", 
	    "true", 
	    "type", 
	    "union", 
	    "unique", 
	    "unknown", 
	    "update", 
	    "user", 
	    "using", 
	    "value", 
	    "values", 
	    "varchar", 
	    "varying", 
	    "view", 
	    "when",
	    "where", 
	    "with", 
	    "zone" };

	  private static final String[] predicates = { 
	    "||", 
	    ",", 
	    ";", 
	    ".", 
	    "~", 
	    "<", 
	    "<=", 
	    ",", 
	    ",=", 
	    "=",
	    "!=", 
	    "<>",
	    "(+)", 
	    "(", 
	    ")", 
	    "*", 
	    "/", 
	    "+", 
	    "-", 
	    "?" };

	  private static final String[] types = { 
	    "dec", 
	    "decimal", 
	    "double", 
	    "float", 
	    "int", 
	    "integer", 
	    "numeric", 
	    "real", 
	    "smallint" };

	  private static final String[] constants = { 
	    "FALSE", "NULL", "TRUE", "false", "true", "null" };

	  private static final String[] functions = { 
	    "avg", 
	    "both", 
	    "convert", 
	    "count", 
	    "for", 
	    "length", 
	    "leading", 
	    "lower", 
	    "lpad", 
	    "ltrim", 
	    "max", 
	    "min", 
	    "replace", 
	    "rtrim", 
	    "substr", 
	    "substring", 
	    "sum", 
	    "to_char",
	    "to_date",
	    "trailing", 
	    "translate", 
	    "trim", 
	    "upper" };

	  private static final String[] _comments = { 
	    "--" };

	  public static String[] getFunctions()
	  {
	    return functions;
	  }

	  public static String[] getPredicates()
	  {
	    return predicates;
	  }

	  public static String[] getReservedwords()
	  {
	    return reservedwords;
	  }

	  public static String[] getUnreservedwords()
	  {
	    return _unreservedwords;
	  }

	  public static String[] getTypes()
	  {
	    return types;
	  }

	  public static Object[] getAllWords()
	  {
	    return new Object[] { 
	      getReservedwords(), getUnreservedwords(), getPredicates(), getTypes(), getConstants(), getFunctions(), getGlobalVariables() };
	  }

	  public static String[] getConstants()
	  {
	    return constants;
	  }

	  public static String[] getSingleLineComments()
	  {
	    return _comments;
	  }

	  public static String[] getGlobalVariables() {
	    return EMPTY;
	  }
	
}
